{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "84d10378-aae1-40bd-b4cb-9ca55f1d80cb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "葡萄酒数据集如下: \n",
      "     label     a1    a2    a3    a4   a5    a6    a7    a8    a9    a10   a11  \\\n",
      "0        1  14.23  1.71  2.43  15.6  127  2.80  3.06  0.28  2.29   5.64  1.04   \n",
      "1        1  13.20  1.78  2.14  11.2  100  2.65  2.76  0.26  1.28   4.38  1.05   \n",
      "2        1  13.16  2.36  2.67  18.6  101  2.80  3.24  0.30  2.81   5.68  1.03   \n",
      "3        1  14.37  1.95  2.50  16.8  113  3.85  3.49  0.24  2.18   7.80  0.86   \n",
      "4        1  13.24  2.59  2.87  21.0  118  2.80  2.69  0.39  1.82   4.32  1.04   \n",
      "..     ...    ...   ...   ...   ...  ...   ...   ...   ...   ...    ...   ...   \n",
      "173      3  13.71  5.65  2.45  20.5   95  1.68  0.61  0.52  1.06   7.70  0.64   \n",
      "174      3  13.40  3.91  2.48  23.0  102  1.80  0.75  0.43  1.41   7.30  0.70   \n",
      "175      3  13.27  4.28  2.26  20.0  120  1.59  0.69  0.43  1.35  10.20  0.59   \n",
      "176      3  13.17  2.59  2.37  20.0  120  1.65  0.68  0.53  1.46   9.30  0.60   \n",
      "177      3  14.13  4.10  2.74  24.5   96  2.05  0.76  0.56  1.35   9.20  0.61   \n",
      "\n",
      "      a12   a13  \n",
      "0    3.92  1065  \n",
      "1    3.40  1050  \n",
      "2    3.17  1185  \n",
      "3    3.45  1480  \n",
      "4    2.93   735  \n",
      "..    ...   ...  \n",
      "173  1.74   740  \n",
      "174  1.56   750  \n",
      "175  1.56   835  \n",
      "176  1.62   840  \n",
      "177  1.60   560  \n",
      "\n",
      "[178 rows x 14 columns]\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "names=['label','a1','a2','a3','a4','a5','a6','a7','a8','a9','a10','a11','a12','a13']\n",
    "dataset=pd.read_csv(\"wine.data\",names=names)\n",
    "print(\"葡萄酒数据集如下: \")\n",
    "print(dataset)\n",
    "data=dataset.iloc[range(0,178),range(1,14)]\n",
    "target=dataset.iloc[range(0,178),range(0,1)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "24795594-a2d6-4d38-be9c-907faccf0de4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: matplotlib in d:\\programdata\\anaconda3\\lib\\site-packages (3.8.4)\n",
      "Requirement already satisfied: contourpy>=1.0.1 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (1.2.0)\n",
      "Requirement already satisfied: cycler>=0.10 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (0.11.0)\n",
      "Requirement already satisfied: fonttools>=4.22.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (4.51.0)\n",
      "Requirement already satisfied: kiwisolver>=1.3.1 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (1.4.4)\n",
      "Requirement already satisfied: numpy>=1.21 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (1.26.4)\n",
      "Requirement already satisfied: packaging>=20.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (23.2)\n",
      "Requirement already satisfied: pillow>=8 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (10.3.0)\n",
      "Requirement already satisfied: pyparsing>=2.3.1 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (3.0.9)\n",
      "Requirement already satisfied: python-dateutil>=2.7 in d:\\programdata\\anaconda3\\lib\\site-packages (from matplotlib) (2.9.0.post0)\n",
      "Requirement already satisfied: six>=1.5 in d:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)\n",
      "a 1 中异常值:  []\n",
      "a 2 中异常值:  [5.8 5.51 5.65]\n",
      "a 3 中异常值:  [1.36 3.22 3.23]\n",
      "a 4 中异常值:  [10.6 30.0 28.5 28.5]\n",
      "a 5 中异常值:  [151.0 139.0 136.0 162.0]\n",
      "a 6 中异常值:  []\n",
      "a 7 中异常值:  []\n",
      "a 8 中异常值:  []\n",
      "a 9 中异常值:  [3.28 3.58]\n",
      "a 10 中异常值:  [10.8 13.0 11.75 10.68]\n",
      "a 11 中异常值:  [1.71]\n",
      "a 12 中异常值:  []\n",
      "a 13 中异常值:  []\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGhCAYAAACzurT/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABgOklEQVR4nO3deXyM5/o/8M9IZLIPCdkIUlsRyi9OJUEltVUlxFJO46AOjpY6TZNQoQtOSGtNS7WoWqqWlghCVZQEFW2EnAqtSr7RBImgOlkaEybP7w8nUyOTPTPPMzOf9+s1r3ae556Za3KZ5Jr7uReZIAgCiIiIiETSROwAiIiIyLyxGCEiIiJRsRghIiIiUbEYISIiIlGxGCEiIiJRsRghIiIiUbEYISIiIlGxGCEiIiJRsRghIiIiUbEYISIiIlGxGDFzN27cwD/+8Q84OzvD1tYWPXv2RFpamthhERGRGbEUOwASz71799C3b18EBgbim2++gYuLC7KystCsWTOxQyMiIjMiM4aN8srLy3Hz5k04ODhAJpOJHY5JEAQB8+fPx08//YRTp07V6zmYF/0QBAFFRUXw8PBAkyb167xkbvSDuZEm5kW6apsboyhGrl+/Dk9PT7HDMElTp06FUqlEcnIyWrVqhZkzZ2L69Ok626pUKqhUKs39GzduoGvXroYK1ezk5uaidevW9XosPzP6xdxIE/MiXTXlxigu0zg4OAB49GYcHR1FjsY0FBYWwtPTE9u3b0d4eDjmz5+PH3/8Ef/+978hl8sxadKkSo+JiYnBokWLKh2Xcl4OHDiABQsWICcnR3OsTZs2WLJkCUaMGCFiZFWryE3Fv/v6MIbPzDvvvIOPP/4YarVac8zCwgKzZs3Cf/7zH4PH89lnn+Hzzz/X/Ft5+umn8dZbb2Hw4MEAHn3DW7RoEVavXo2OHTuiT58++Pjjj9GtW7c6vY7Uc8PPjDTzAph4bgQjoFQqBQCCUqkUOxSTUfEzffbZZ7WOz549W/D19dX5mPv37wtKpVJzy83NlXRe9u7dK8hkMiE4OFhISUkRioqKhJSUFCE4OFiQyWTC3r17xQ5Rp8b49y71z8ycOXMEAIKrq6uwceNGIS8vT9i4caPg6uoqABDmzJlj8JgOHDggHDp0SLhy5Ypw5coVYf78+ULTpk2FjIwMQRAE4f333xccHBwEAEJKSoowfvx4wd3dXSgsLKzT60g5N/zMSDMvgmD6uWExYqYqfqYTJ07UOr5u3TrBw8OjTs8hxbw8fPhQaNeunRAcHCyUlZUJJ06cEHbs2CGcOHFCKCsrE4KDgwUvLy/h4cOHYodaian/YlWpVIKlpaXg6uoqPHjwQOvcgwcPBFdXV8HS0lJQqVQiRfiX5s2bC5999plQXl4uuLm5CQsXLtT8XO/fvy8oFArh008/rdNzSjU3j39m1Gq11jm1Ws3PjIjMITec2ttApWVqZNxQam7nrv2O+As3cO7a75pjpWXqmp9IJJmZmVr3f/31V7Rt21akaBrPqVOncO3aNfj7+6NTp04IDAxEaGgoAgMD0alTJ/j5+SE7O7veg3ep/tatW4eHDx8iOjoalpbaV4otLS2xePFiPHz4EOvWrRMpQkCtVmPXrl0oKSnR/FvJz8/H888/r2kjl8sxYMAAnDlzptrnUqlUKCws1LpJUcVnZv78+ZUGGjZp0gRRUVH8zIjEHHJjFGNGpCzrdjGC1pyutk3C7H7wbqUwUER1k5qaiqVLl2LcuHH48ccfsWHDBmzYsEHssBosLy8PADB//nwMHz4cc+bMgY2NDUpLS/HNN99gwYIFWu3IcLKysgAAQUFBOs9XHK9oZ0gXL16En58f7t+/D3t7e+zbtw9du3bVFBwuLi5a7V1dXfHbb79V+5xVjbWSmorPgre3t87zFcf5mTE8c8gNi5EGat/SHgmz+2nuZxYUI2x3OmLH90QHF3tNG6n68ssv8Z///AeLFy+Gl5cXYmNjMWHCBLHDarCKPxpPP/00Ll68iISEBM25tm3bonPnzvjll18q/XEh/Wvfvj0AICEhAdOmTat0viJXFe0MqXPnzkhPT8cff/yBvXv3YvLkyUhOTtacf3LKpyAINU4DjYqKQnh4uOZ+xYA+qXF3dwcAZGRkwNfXt9L5jIwMrXZkOGaRG8NcNWoYKV/Le9LF638Ibd9KEC5e/0PsUKpl6tdYjx07JgAQAAhBQUFaA76CgoI0544dOyZ2qJWYem6MaczIwIEDhX/9619CVlaWAEA4efKk1s91xIgRwqRJk+r0nFLNzePjEkpLS4XVq1cLr7/+urB69WqhtLTUJMYl6Ps59IVjRoiMVH5+vtZ94dFgbQhPLKvzZDvSPysrK7z55pu4desWWrdujQ0bNuDmzZvYsGEDWrdujVu3buHNN9+ElZWV2KFCEASoVCp4eXnBzc0NJ06c0JwrKytDcnIy/P39RYyw8VhYWGDlypU4ePAgbG1t8eabb2Lt2rV48803YWtri4MHD2LFihWwsLAQO1SzU5GbhIQEhISEICUlBUVFRUhJSUFISAgSEhKMPje8TEMm6fbt2wCA1157Dd98843WHwwvLy+8+uqr+PTTTzXtyLCWLVsGAFi9ejVmzJihOW5paYk5c+ZozhvS/PnzMWzYMHh6eqKoqAi7du1CUlISjhw5AplMhrCwMMTExAAALl++jI8++gi2trYIDQ01eKz6cvbsWQCPLkc9Xrg3adIEarUaZ8+exejRo8UKz6yNHj0ae/bsQURERKXfZ3v27DH6vLAYIZPUsmVLAMC1a9fw66+/4vvvv0deXh7c3d3Rt29fjBw5UqsdGd6yZcsQHR2NdevWISsrC+3bt8fMmTNF6xG5desWJk6ciLy8PCgUCvTo0QNHjhzRLHo2d+5c/PHHH3j//fcREBCAPn364OjRow1aaEtKysrKsHr1as2g3JSUFM1nxs/PD23btsXq1asRHR0tiV4rczR69GiMHDkSp06d0uSmf//+Rt0jUoHFCJmkVq1aAQCOHDmCMWPGICoqCkFBQcjIyMCYMWNw5MgRrXYkDisrK4SFhYkdBgBg06ZN1Z6XyWSIiorC+++/j4KCAsmu0llfj0+5lsvlCAgI0Dq/ePFizJgxA+vWrZNMzsh0sBghk9S/f3+0a9cOLVq0wMWLFyt1a/r4+ODu3bvo37+/iFESSYeUp1zTI3FxcYiIiMC1a9c0x9q1a4eVK1ca/WUaDmAlk1Qx4CstLQ3e3t5Yu3YtNm3ahLVr16Jbt25IS0uT/IAvf39/ODo6wtHREX5+fvjmm2/EDolM2ONTrnURc8o1PSpExo4di+7du2sNYO3evTvGjh2LuLg4sUNsGP1P7Gk4KU+5ehKn9krL3r17hXbt2mmm8gIQvLy8JLuPgyD89XP9+uuvq9wnpbbPIeXcGCNT/tyIOeU6OTlZCAoKEtzd3QUAwr59+7TOT548WeszDEDo06eP5nzFz/Rf//qX4OzsLNja2grBwcFCbm5urWOQal4EgVN7iYze6NGjkZmZiRMnTmDHjh04ceIErl69ahRdmkOGDEGnTp3QqVMnLFmyBPb29prZDkSNTcwp1yUlJXjmmWewdu3aKtu88MILyMvL09wOHz5cqU1CQgJ27dqF06dPo7i4GEFBQVq7QhsrLgdPZMRKy9TIul0MALBv1wM2io6wb26Dn/MfHWvf0h42VtK9TFNBrVbj66+/1uyTootKpYJKpdLcl+r+JyRtYk25HjZsGIYNG1ZtG7lcDjc3N53nlEolACA6OhqDBg0CAGzfvh2enp44duwYhg4d2rgBGxiXgycyYjXtGyTlPYMA4NKlSxg8eHClfVJ0MZb9T0j6pDblukJSUhJcXFzQrFkzDBgwAEuWLNFs55Ceng4AWhsZenh4wNvbG2fOnNFZjBhTAW8Oy8GzGCGT9fi+Qca2ZxAAdOzYUec+KboKEmPZ/4SMg5SmXAOPek5eeukltG3bFtnZ2XjnnXfw/PPPIy0tDXK5HAUFBQCA5s2baz3O1dW1ylWWjamAr5gduHTpUsTHx2tdqikvL0dMTAy8vLyMenYgixEyWTZWFpV6Pjq42Eu6N+RxVlZW6NChAwCgd+/eSE1NxYcffoj169dXaiuXyyGXyw0dIpmYxy9t3n+gxvV7pWjd3AbWTf+6nCnG5c3x48dr/t/b2xu9e/dG27ZtcejQoWrHfwnVbGRoTAV8xezAsWPHIiQkBFFRUfD29kZGRgZiYmKQkJCAPXv2SHp2YE1YjBAZCeF/+6SYgpr+6BnLeB5TU9OlTUAalzfd3d3Rtm1bXL16FcBfu3Tfu3dPazG6goKCKvcOMrYCnsvBE5Eozpw5g6effrrSPimmwNjH85iqmi5tVrQR2927d5Gbm6sZI9GzZ08AwIkTJ/DKK68AeDSYMyMjQ5R9jvSFy8FX4+TJk1i+fDnS0tKQl5eHffv2ISQkRGfbGTNmYMOGDVi9erWkrkcSSdGMGTOQn5+vc58UY2fs43lMlViXNouLi5GZmam5n52djfT0dDg5OcHJyQkLFy7EmDFj4O7urpni2qJFC4waNQoAoFA8iu/tt9+Gp6cnnJycEBkZie7du2tm15gKCwuLSkv1m4IGFyMV88OnTJmCMWPGVNkuPj4eP/zwAzw8PBr6kkRm4eLFiya3/0kFYx/PQ43r3LlzCAwM1NyvGMsxefJkfPLJJ7h48SK2bduGP/74A+7u7ggMDMTu3bsrbVI4fPhwjBs3DqWlpRg4cCC2bNliEr0G5qDBxUht5offuHEDr7/+Or799lsMHz68oS9JREQmJCAgAIIgVHn+22+/rdXzLF++XOcAb1OiVqt5maY+ysvLMXHiRMyZMwfdunWr1WOMaf43ERGRIXCjvAb44IMPYGlpiX//+9+1fkxMTAwUCoXmJtXpVkRERIZg6hvl6bUYSUtLw4cffogtW7ZUOddbl6ioKCiVSs0tNzdXj1ESERFJl1qtRkREBIKCghAfHw9fX1/Y29vD19cX8fHxCAoKQmRkpFHvw6PXYuTUqVMoKChAmzZtYGlpCUtLS/z222+IiIhAu3btqnycXC7XbJ1ecSMiIjJHj2+UJwgCkpKSsHPnTiQlJUEQBG6UV5OJEydWmlY1dOhQTJw4EVOmTNHnSxMREZmEig3wsrKy8PLLL1caMxIdHa3Vzhg1uBipbn54mzZt4OzsrNW+adOmcHNzQ+fOnRv60kRERCavYnG3iRMnIigoCDt37tQsB7906VJMnDhRq50xanAxUt388C1btjT06YmIiMyav78/LC0t4ezsjLi4OFhaPvrT7evri7i4OLRu3Rp3796tcul7Y9DgYqSm+eFPerx7iYiIiKp35swZPHz4ELdu3cLo0aMrbZR369YtTTtjXZ1V71N7iYiIqP4qxoJs374dFy9ehL+/PxwdHeHv74+MjAxs375dq50x4kZ59ZR9pwQlqoeVjmcWFGv993F2ckt4tbDTe2xERGQ6NGNBHFwRn5yGs2dO49fsXHTy8oSvfz9cTE/TbmeEWIzUQ/adEgSuSKq2TdjudJ3HT0QGsCAhIqJa69+/P1p5tsH0iAVoOfptyGQWANoB6YBw4XvcjotGqzZt0b9/f5EjrT8WI/VQ0SPy5NbaAHD/gRrX75WidXMbWDf9a7+Aip1JdfWmSEVMTAzmz5+PN954A7GxsWKHQ0REeLRT7/IVKzHh7+Pw1IV1GBr6Gtb9V4WZz8jx7Y5PkJuViuW7vjLqPWpYjDRAVbuM9m5n+FgaKjU1FRs2bECPHj3EDoWIiJ7w8rixkFvuQUREBKKmjAQARAHw8vLCnj17uDcNGb/i4mJMmDABGzduRPPmzcUOh4iIdBg9ejQyMzPx+VcH0SJ4Dj7/6iCuXr1q9IUIwJ4RAjBr1iwMHz4cgwYN0qzkpwt3U6aG4KBvooazsLDA3/z7wy5Nhr/59zPqSzOPYzFi5vbs2YPz588jNTW1xrYxMTFYtGiRAaIiU8NB30RUHRYjZm7evHlITEyEtbV1jW2joqI0K+wCj3pGPD099RkemQhTHfRNRI2DxYiZu337Nnx8fDT31Wo1Tp48ibVr10KlUml1AcrlcsjlcjHCJBNhSoO+iajxsBgxcykpKbC3/+ub6pQpU/D000/jrbfeMplrkUREJG0sRsxc165d4ejoqLlvZ2cHZ2dneHt7ixgVERGZE07tJSIiIlGxZ4S0JCUliR0CERGZGRYjRERmTtcaMNWt/wJwDRhqXCxGiIjMWE1rwFS1/gvANWCo8bAYISIyY1WtAVPV+i8A14ChxsdipJ5kloXILryCJtb2NTcGkF1YDJkll08n88XPjLTpWgOG67+QobAYqaemzX7A/B+X1vExAwG8qJ+AiCSOnxkiqgqLkXp68EcfrBweivYutfuWl1VQjH9/maXnqIikS+qfmZiYGMTFxeGXX36BjY0N/P398cEHH6Bz586aNoIgAAA6d+6MP/74A3369MHHH3+Mbt26GSxOIlPEYqSehIeO8HLsjK7OlZe21qX8vhLCw9t6jopIuqT+mUlOTsasWbPwt7/9DQ8fPsSCBQswZMgQXL58GXZ2jwZpxsbGAgCWL1+Onj17Ijo6GoMHD8aVK1fg4OBgsFiJTA2LESIiAEeOHNG6v3nzZri4uCAtLQ3PPfccBEHAJ598AgAYMWIEHB0dsXXrVri6umLHjh2YMWOGGGETmQSuwEpEpINSqQQAODk5AQCys7Nx69YtrTZyuRwDBgzAmTNnqnwelUqFwsJCrRsRaWMxQkT0BEEQEB4ejn79+mn2acrPz9fZ1tXVtcpzwKOxKAqFQnPz9PTUS8xExoyXacjkcDVJaqjXX38dP/30E06fPl1jW0EQIJPJqjwfFRWF8PBwzf3CwkLJFSScdk1iYzFCJoWrSUpT6QM1ACDjhrLSuaoW16qqcNS32bNn48CBAzh58iRat26tOe7m5qazfUFBAVxdXat8PrlcDrlc3uhxNiZOuyaxsRghk8LVJKUp63+Fxby4i3V+rJ3cML+mBEHA7NmzsW/fPiQlJcHLy0vrvJeXF1xdXbXGjZSVlSE5ORkffPCBQWLUF6lPuybTx2KETBJXk5SWId0e9Sq0d7GHTRXF4JMFJGDYy2ezZs3Cjh07sH//fjg4OGjGgSgUCtjY2EAmk+G1117DwoULcfDgQTzzzDNYunQpbG1tERoaapAY9UXq067J9LEYISK9c7Kzwt+fbVNtG10FpCFVTNsNCAjQOr5582a88sorAICwsDAsXLgQERERmkXPjh49yjVGiBqIxQgREf5aXbU6FQNVf/31Vzg6Ouo7JCKzwWKEiIhIosxldiCLESIiIgkyp9mBLEaIiIgkyJxmB7IYIZKYlStXAgBatWpV5e6xRGQ+zGF2IJeDJ5KY77//HgBw7NgxJCYm4uHDhxgyZAhKSkpEjoyISD9YjNTD46tJPnk7d+13xF+4gXPXftc6LtZqkmR84uLiAABdunTBM888g82bNyMnJwdpaWkiR0akHydPnkRwcDA8PDwgk8kQHx+vdV4QBCxcuBAeHh6wsbFBQEAALl26VOl55syZgxYtWsDOzg4jRozA9evXDfQOqKF4maYejGE1STIdT+4eq4tKpYJKpdLc586wVFtVLdVf07iExlRSUoJnnnkGU6ZMwZgxYyqdX7ZsGVatWoUtW7agU6dOiI6OxuDBg3HlyhWtNV4SEhKwa9cuODs7IyIiAkFBQUhLS4OFhUWl5yRp4V/GejCG1STJNOjaPVaXmJgYLFq0yICRkamQwperYcOGYdiwYTrPCYKA2NhYLFiwAKNHjwYAbN26Fa6urtixYwdmzJihKdijo6MxaNAgAMD27dvh6emJY8eOYejQoZWelwW8tLAYqQdjWE2STENtd481hp1hSZqq+nJV3RcrwHBfrrKzs5Gfn48hQ4ZojsnlcgwYMABnzpzBjBkzkJ6eDgB4/vnnNW08PDzg7e2NM2fO6CxGWMBLC4sRIomaM2cODh8+XGn3WF2MYWdYkqaavlyJ/cWqYo+gJ3dGdnV1xW+//Qbg0c7JANC8efNKbSoe/yRjKeBlloXILryCJta128Qwu7AYMkvj6+VhMUIkMRXLkh88eBDJycmVdo8lMkcVS/FXEASh0rEnVdfGWAr4ps1+wPwfl9bxMQMBvKifgPSExQiRxERERAAAPvvsM527xxKZEze3R5eR8vPz4e7urjleUFCg6S1xcXEBANy7d09rz6CCggL4+/sbMNrG9+CPPlg5PBTtdVwq0yWroBj//jJLz1E1vgZP7a1uStaDBw/w1ltvoXv37rCzs4OHhwcmTZqEmzdvNvRlqZEEBATAwcEBLi4uCAkJwZUrV8QOyext2rQJADB8+HC4u7trbrt37xY5MiLD8/LygpubGxITEzXHysrKkJycrCk0evbsCQA4ceKEpk1eXh4yMjKMvhgRHjrCy7Ezujp3rdXNy7EzhIfGt4ljg4uRiilZa9eurXTuzz//xPnz5/HOO+/g/PnziIuLw6+//ooRI0Y09GWpkUyfPh1nz57l4loSUjEzQKlUQhAEza1iG3siU1NcXIz09HTNQNTs7Gykp6cjJycHMpkMYWFhWLp0Kfbt24eMjAy88sorsLW1RWhoKIBHvYYA8Pbbb+O7777DhQsX8I9//APdu3fXzK4haWvwZZrqpmQpFAqtahYA1qxZg2effRY5OTlo00b3oClOuTKcCRMmaLo1N2/eDBcXF6SlpeG5554TOTIiMhfnzp1DYGCg5n7FwNLJkydjy5YtmDt3LkpLSzFz5kzcu3cPffr0wdGjR7XWGAEe9SaOGzcOpaWlGDhwILZs2cI1RoyEwceMKJVKyGQyNGvWrMo2nHIljpoW12KRSET6EBAQoBm4rYtMJsPChQuxcOHCap9n+fLlWL9+fSNHR4Zg0OXg79+/j3nz5iE0NFRrkNGToqKioFQqNbfc3FwDRmmearO4VkxMDBQKheYmxWlwRERkfAzWM/LgwQP8/e9/R3l5OdatW1dtW2OZcmVKarO4FuflExGRPhikGHnw4AHGjRuH7OxsHD9+vNpeETK82bNn48CBAzUurmUsRaK5zMsnIjIVei9GKgqRq1ev4sSJE3B2dtb3S1IdREZG4tChQ0hKSjKZxbXMZV4+EZGpaHAxUlxcjMzMTM39iilZTk5O8PDwwNixY3H+/HkkJCRArVZrFnBycnKClZVVQ1+eGuirr77C/v37TWpxrb/m5dduCevy+0oID2/rOSoiorqRwo7KhtLgYqS6KVkLFy7EgQMHAPy1KE2FEydOICAgoKEvTw2kVCor5WHz5s1c04L0qrRMjazbj35pVvzyfPyXaPuW9rCx4pRMMm9S2FHZUBocbU1Tsqo7R+JTKpUcw0MGl3W7GEFrtAdLh+1O1/x/wux+3PWazJ7Ud1RuTMZVOhHVwJy6NY1Z+5b2SJjdD4Du3LRvWbvxPkSmTOo7KjcmFiNkUsypW9OY2VhZaP0S7d1OvFiISHz87UsmxZy6NYmITAWLETIp5tStSURkKgy6HDwRERHRk1iMEBERkahYjBAREZGoWIwQERGRqFiMEBERkahYjBAREZGoWIwQERGRqFiMEBERkahYjBCRaNRqNZKSkrBz504kJSVBrVaLHRLhUV5Sz5xCyeVkpJ45xbyQ3rEYISJRxMXFoUOHDggMDERoaCgCAwPRoUMHxMXFiR2a2SotUyN24xdo6/UU/jkuGHcOLsc/xwWjrddTiN34BTJuKFFaxsKEGh+LESIyuLi4OIwdOxbdu3dHSkoKioqKkJKSgu7du2Ps2LEsSESyfusOvPmvyfhd7ga3f6yA55tfw+0fK/C73A1v/msynn99GbJuc5dranzcm4aIDEqtViMiIgJBQUGIj49HkyaPvhP5+voiPj4eISEhiIyMxMiRI2FhYVHDs1FjUavViF3yLgIGD8WHm3agTC3g+r1StG7+PKws/ok3pobi6vkv0c7pPbFDJRPEYqSBSsvUWt8UMv+3hX3FfwGgfUt72Fjxl6qhPZ4b5kU6Tp06hWvXrmHnzp2aQqRCkyZNEBUVBX9/f5w6dQoBAQHiBGmGTp06hd9+u4Zdu3aih2dzAEDvdn+dX7roXfj7++PcD2eYFxGY+u8zFiMNlHW7GEFrTlc6HrY7XfP/CbP7cadYEejKDfMivry8PACAt7e3zvMVxyvaGdLJkyexfPlypKWlIS8vD/v27UNISIjmvCAIAIDOnTvjjz/+QJ8+ffDxxx+jW7duBo+1sUk5L2T6v89YjDRQ+5b2SJjdT3P//gP1/7o2bWDd1ELThgzv8dwwL9Lh7u4OAMjIyICvr2+l8xkZGVrtDKmkpATPPPMMpkyZgjFjxlQ6HxsbCwBYvnw5evbsiejoaAwePBhXrlyBg4ODgaNtXFLOC5n+7zOZUFHqS1hhYSEUCgWUSiUcHR3FDsckNMbPlHnRD1PPjVqtRocOHdC9e3etMSMAUF5ejpCQEGRkZODq1auijhmRyWRaPSOCIMDd3R23bt3S/FxVKhVcXV3xwQcfYMaMGTqfR6VSQaVSae4XFhbC09NTcrkxlrzoYuqfGWNW258rZ9MQkUFZWFhg5cqVSEhIQEhIiNZsmpCQECQkJGDFihWS+4OXnZ2NW7duaR2Ty+UYMGAAzpw5U+XjYmJioFAoNDdPT099h1ovxpoXMg1GcZmmovOmsLBQ5EhMR8XPsiEdY8yLfphDbgYNGoRt27ZhwYIF8Pf31xxv27Yttm3bhkGDBkki9j///FMTR1ZWlub447lxdXXFb7/9VuVzREVFITw8XHNfqVSiTZs2knh/TzKWvDzJHD4zxqq2uTGKYqSoqAgAJPuNwpgVFRVBoajfoCfmRb/MMTe//fYbJk6cKHYYGhMmTNB5/PHcCIIAmUxW5XPI5XLI5XLN/YpfzsaUG6nlpSrm+JkxFjXlxiiKEQ8PD+Tm5sLBwaHaD70UVFwPzs3NlfR1R0EQUFRUBA8Pj3o/B/OiH8yNNCgUCnz55ZcICgoC8OgyTc+ePfHNN99o5aagoACurq61fl5jyY1U86ILPzPSVdvcGEUx0qRJE7Ru3VrsMOrE0dFR8v9I6vsNogLzoj/MjTTY2tpqYurRowfc3Nzw008/4YUXXgAAlJWVITk5GR988EGtn9PYciPFvOjCz4x01SY3RlGMEBEZQnFxMTIzMzX3s7OzkZ6eDicnJ7Rp0wZhYWFYunQpOnbsiI4dO2Lp0qWwtbVFaGioiFETGT8WI0RE/3Pu3DkEBgZq7lcMPJ08eTK2bNmCuXPnorS0FDNnzsS9e/fQp08fHD161OjXGCESG4uRRiaXy/Hee+9pDVgj8TEv0iWl3AQEBFQ76l8mk2HhwoVYuHCh4YISiZTyQtpMMTdGsegZERERmS4uekZERESiYjFCREREomIxQkRERKJiMUJERESiYjFCREREomIxoidLliyBv78/bG1t0axZM7HDIQDXrl3D1KlT4eXlBRsbG7Rv3x7vvfceysrKxA6NAIwYMQJt2rSBtbU13N3dMXHiRNy8eVPssOgxKpUKPXv2hEwmQ3p6utjhmL127dpBJpNp3ebNmyd2WPXCYkRPysrK8NJLL+G1114TOxT6n19++QXl5eVYv349Ll26hNWrV+PTTz/F/PnzxQ6NAAQGBuKrr77ClStXsHfvXmRlZWHs2LFih0WPmTt3boP2f6HGt3jxYuTl5Wlub7/9ttgh1Y9A9fLNN98Iffv2FRQKheDk5CQMHz5cyMzMrNRu8+bNgkKhMHyAZqq2eamwbNkywcvLy4ARmq+65mb//v2CTCYTysrKDBileapNbg4fPiw8/fTTwqVLlwQAwoULF8QJ1ozUlJe2bdsKq1evFi/ARsSekXoqKSlBeHg4UlNT8d1336FJkyYYNWoUysvLxQ7NrNU1L0qlEk5OTgaO0jzVJTe///47vvzyS/j7+6Np06YiRGteasrNrVu3MH36dHzxxRewtbUVOVrzUZvPzAcffABnZ2f07NkTS5YsMd7LzmJXQ6aioKBAACBcvHhR6zh7RsRVVV4EQRAyMzMFR0dHYePGjSJERrpyM3fuXMHW1lYAIPj6+gp37twRMULz9XhuysvLhRdeeEH4z3/+IwiCIGRnZ7NnRCRPfmZWrVolJCUlCf/973+FjRs3Ci1atBCmTp0qcpT1w56ResrKykJoaCieeuopODo6wsvLCwCQk5MjcmTmrbZ5uXnzJl544QW89NJLmDZtmhihmp3a5GbOnDm4cOECjh49CgsLC0yaNKnavWKocVSXmzVr1qCwsBBRUVEiR2l+avrMvPnmmxgwYAB69OiBadOm4dNPP8WmTZtw9+5dMcOuF26UV0/BwcHw9PTExo0b4eHhgfLycnh7extvF5mJqE1ebt68icDAQPj5+WHDhg0iRmteapObFi1aoEWLFujUqRO6dOkCT09PnD17Fn5+fiJGbvqqy83x48dx9uzZSpuy9e7dGxMmTMDWrVtFitr01fXvjK+vLwAgMzMTzs7Ohgy1wQzeMxITEwOZTIawsDBDv3SjuXv3Ln7++We8/fbbGDhwILp06YJ79+6JHZbZq01ebty4gYCAAPy///f/sHnzZjRpws5BQ6jPZ6aiR0SlUhkiRLNVU24++ugj/Pe//0V6ejrS09Nx+PBhAMDu3buxZMkSscI2efX5zFy4cAEA4O7ubogQG5VBe0ZSU1OxYcMG9OjRw5Av2+iaN28OZ2dnbNiwAe7u7sjJyak0tzsnJwe///47cnJyoFarNXPyO3ToAHt7exGiNn015eXmzZsICAhAmzZtsGLFCty+fVtzzs3NTYyQzUZNufnxxx/x448/ol+/fmjevDn+7//+D++++y7at2/PXhE9qyk3bdq00Wpf8furffv2aN26tUFjNSc15SUlJQVnz55FYGAgFAoFUlNT8eabb2rW6zE2BitGiouLMWHCBGzcuBHR0dF1emx5eTlu3rwJBwcHyGQyPUVYN5s2bcLcuXPRrVs3dOzYEcuWLcPw4cPx559/orCwEPPmzcPOnTs17Xv16gUASEhIQP/+/cUKW0MQBBQVFcHDw6PevQPGlpf9+/cjMzMTmZmZlX6JKpVKkSKuzBxzo1ar8dVXX+Hdd99FSUkJ3NzcMGjQIGzcuBEqlUoyvSPmmJvCwkKttkVFRQAe/U5/8pxYzDEvDx48wJdffomFCxdCpVLB09MTkyZNwhtvvCGZvAB1yI2hRspOmjRJCAsLEwRBEAYMGCC88cYbVba9f/++oFQqNbfLly8LAHjTwy03N7feOc3NzRU9flO+MTfSvTE30rwxL9K91ZQbg/SM7Nq1C+fPn0dqamqt2sfExGDRokWVjufm5sLR0bGxwzNLhYWF8PT0hIODQ72fo+KxzEvjYm6kyxxyc+DAASxYsEBrllObNm2wZMkSjBgxQsTIqmYOeQFMPDf1LiNrKScnR3BxcRHS09M1x+raM1JRsSqVSn2HazaUSmWDf6aN8RxUGXMjXaaem7179woymUwIDg4WUlJShKKiIiElJUUIDg4WZDKZsHfvXrFD1MnU8yIIpp8bmSDodxJ/fHw8Ro0aBQsLC80xtVoNmUyGJk2aQKVSaZ3TpbCwEAqFAkqlUrIVq7FpjJ8p86IfzI10mXJu1Go1OnTogO7duyM+Pl7r+n55eTlCQkKQkZGBq1ev1vg729BMOS+AeeRG75dpBg4ciIsXL2odmzJlCp5++mm89dZbkvvB1VVpmRpZt4s19+8/UOP6vVK0bm4D66aP3lv7lvawsTLu92mMHs8N8yItzI30nDp1CteuXcPOnTsrDTRs0qQJoqKi4O/vj1OnTiEgIECcIM2UOeRG78WIg4MDvL29tY7Z2dnB2dm50nFjlHW7GEFrTlfbJmF2P3i3UhgoIqpQU26YF/EwN9KTl5cHAFX+Xq44XtGODMcccsMVWBuofUt7JMzup7mfWVCMsN3piB3fEx1c7DVtyPAezw3zIi3MjfRULJSVkZGhWcnzcRkZGVrtyHDMITeiFCNJSUlivKxe2FhZ6PwG18HFnt/sRKYrN8yLNDA30tO/f3+0a9cOS5cu1TkuISYmBl5eXpJYJ8ncmENuuBY2ERHBwsICK1euREJCAkJCQpCSkoKioiKkpKQgJCQECQkJWLFihdGP8zNG5pAbXqYhIiIAwOjRo7Fnzx5ERETA399fc9zLywt79uzB6NGjRYzOvJl6bliMEBGRlidXfCgvLxcpEnrc6NGjMXLkSJw6dQp5eXlwd3dH//79jbpHpAIv0xAREQAgLi4OY8eORY8ePbQuBfTo0QNjx45FXFyc2CGSiWIxQkREUKvViIiIQFBQEOLj4+Hr6wt7e3v4+voiPj4eQUFBiIyMhFqtFjtUsxUXF4cOHTogMDAQoaGhCAwMRIcOHUyiSGQxQmQA69atg5eXF6ytreHj44NTp07V+JjFixejbdu2kMvlaN++PT7//HMDRErmqmJhrfnz51e5sFZ2dnat/u1S46voterevbtWr1X37t1NoteKY0aI9Gz37t0ICwvDunXr0LdvX6xfvx7Dhg3D5cuX0aZNmyofl5ycjE2bNqFDhw4oKCjAw4cPDRg1mRtzWFjLWD3Za1VRLFb0WoWEhCAyMhIjR4402vEj7Bkh0rNVq1Zh6tSpmDZtGrp06YLY2Fh4enrik08+0dn+2LFjAICvv/4agwYNQrt27fDss89qjaB/kkqlQmFhodaNqC4eX1hLF1NYWMtYmUOvFYsRIj0qKytDWloahgwZonV8yJAhOHPmjM7HHD58GADw4YcfolWrVujUqRMiIyNRWlpa5evExMRAoVBobp6eno33JsgsPL6w1pOzZ0xlYS1jZQ69VixGiPTozp07UKvVcHV11Tru6uqK/Px8nY+5du0aAODnn3/Gvn37EBsbiz179mDWrFlVvk5UVBSUSqXmlpub22jvgcyDOSysZazModeKxQiRAchkMq37giBUOlah4lvpxo0b8eyzz+LFF1/EqlWrsGXLlip7R+RyORwdHbVuRHVVsbDWxYsX4e/vD0dHR/j7+yMjI8MkFtYyVubQa8UBrER61KJFC1hYWFTqBSkoKKjUW1LBzc0NAKBQ/LVPS5cuXSAIAq5fv46OHTvqL2Cq1meffQYAaN26NQCgW7duePfddzFs2DAxw2pUprywlrGq6LUaO3YsRo4ciRdeeAE2NjYoLS3FkSNHcOjQIezZs8eoc8RihEiPrKys4OPjg8TERIwaNUpzPDExESNHjtT5mD59+mDnzp0oLi7W9HD8+uuvaNKkieaPIImjVatWAB5t9mlvb4+tW7di5MiRuHDhArp16yZydI3HwsICAQEBYodBjxk9ejQiIyOxatUqJCQkaI5bWFggMjLS6HuteJmGSM/Cw8Px2Wef4fPPP8fPP/+MN998Ezk5OXj11VcBPBrvMWnSJE37l156CQAwc+ZMXL58GSdPnsScOXPwz3/+EzY2NqK8B3qkogekQ4cO6NSpE5YsWQJ7e3ucPXtW5MjI1MXFxWH58uWwsrLSOm5lZYXly5cb/TojLEaI9Gz8+PGIjY3F4sWL0bNnT5w8eRKHDx9G27ZtATwaAZ+Tk6Npb29vDwBQKpXo3bs3JkyYgODgYHz00UeixE+6qdVq7Nq1CyUlJfDz86uyHaddU0Op1WrNl5eBAwdqDS4eOHAgAOC1114z6tVxeZmGyABmzpyJmTNn6jy3ZcsWncf379/PgagS5eHhgfv378Pe3h779u1D165dq2wbExODRYsWGTC6+istUyPrdjEA4P4DNa7fK0Xr5jawbvrXWIT2Le1hY2W8YxOMUVJSEm7fvo1+/fph//79Woue7d+/HwMGDMDp06eRlJSkKU6MDYsR0oiJicH8+fPxxhtvIDY2VuxwiCTr1KlTUKvV2Lt3LyZPnozk5OQqC5KoqCiEh4dr7hcWFkp2HZis28UIWnO62jYJs/vBu5Wi2jbUuJKSkgAAixYt0rno2XvvvYfBgwezGCHjl5qaig0bNqBHjx5ih0Ikee3bt4ejoyN69+6N1NRUfPjhh1i/fr3OtnK5HHK53MAR1k/7lvZImN0PAJBZUIyw3emIHd8THVzstdqQOLJvlyDjhrJSr1X2nRKxQ2swFiOE4uJiTJgwARs3bkR0dLTY4RAZFUEQoFKpxA6jUdhYWVTq9ejgYs+eEJEFBAQgOjoasyLnwTX0fchkf/WOCEI58r+M0rQzVhzASpg1axaGDx+OQYMGVduOA/HI3FWM/fjtt99w8eJFLFiwAElJSZgwYYLIkZm2kydPIjg4GB4eHpDJZIiPj9c6LwgCAKBz586wsbFBQEAALl26JEKk+hEQEICWLVtCdf0yvM5/jFefVqNc9SdefVoNr/Mfo+zGz2jp4mLUxQh7Rszcnj17cP78eaSmptbY1pgG4hHpQ0FBAQCgd+/eUCgU6NGjB44cOYLBgweLHJlpKykpwTPPPIMpU6ZgzJgxlc5XjHFbvnw5evbsiejoaAwePBhXrlyBg4ODgaNtfBYWFvj0008xduxY/Pj9SSQf+xYAEAXA1tYWMpkMn37yiVEvesaeETM3b948bN++HdbW1jW25f4nZO4+/vhjAMDt27dRUFCAY8eOsRAxgGHDhiE6Olrnwl6CIGh2wB4xYgS8vb2xdetW/Pnnn9ixY0eVz2lsPb0VS/Xr2ufKFJbqZzFi5m7fvg0fHx9YWlrC0tISycnJ+Oijj2BpaVlpzjr3PyEiqcnOzsatW7e0jsnlcgwYMKDKnbEB49zpevTo0cjMzMTnXx1Ei+A5+Pyrg7h69arRFyIAixGzl5KSgvT0dM2tYpGt9PR0o+7yIyLzUNXu19XtjA0Yb0+vhYUF/ubfH3ZdB+Bv/qazZxDHjJi5rl27avVw2NnZwdnZGd7e3iJGRUTUMNXtjA0Y15Rrc8CeESIiMloVu1w/qbqdsUl62DNCWipW+iMiMgZeXl5wdXXVGjdSVlaG5ORkfPDBByJGRnXBnhEiIpK04uJizbg24NGg1fT0dOTk5EAmk+G1114DABw8eBAZGRl45ZVXYGtri9DQUBGjprpgMUJERJJ27tw59OrVC7169QIAhIeHo1evXnj33XcBAGFhYQCAiIgI9O7dGzdu3MDRo0dNYo0Rc8HLNEREJGkBAQGaVVZ1qRio+uuvv3LJASPFnhEiIiISFYsRIiIiEhWLESIiIhIVx4zUU/adEpSoHlY6nllQrPXfx9nJLeHVwk7vsRERERkTFiP1kH2nBIErkqptE7Y7XefxE5EBLEiIiIgew2KkHip6RGLH90QHF3utc/cfqHH9XilaN7eBddO/9gzILChG2O50nb0pRERE5ozFSAN0cLGHdytFpeO92xk+FiIiImPFAaxEREQkKvaMEJFBcNA3EVWFxQgR6R0HfRNRdViMEJHecdA3EVWHxQgRGQwHfRORLhzASiYn+04JMm4otW6Pj0t48lzGDSWy75ToNaZ169bBy8sL1tbW8PHxwalTp2r1uO+//x6Wlpbo2bOnXuMjIhITe0bIpNQ0NqGqcQmA/sYm7N69G2FhYVi3bh369u2L9evXY9iwYbh8+TLatGlT5eOUSiUmTZqEgQMH4tatW40eF9XdypUrAQCtWrWCjY0N/P398cEHH6Bz584iR0Zk3FiMkEmpamxCVeMSAP2PTVi1ahWmTp2KadOmPYotNhbffvstPvnkE8TExFT5uLCwMISGhsLCwgLx8fF6iY3q5vvvvwcAHDt2DNbW1liwYAGGDBmCy5cvw86Og2yJ6ovFCJkkXWMTxBiXUFZWhrS0NMybN0/r+JAhQ3DmzJlqH5udnY3du3cjOjq6xtdRqVRQqVSa+4WFhfULmKoVFxcHhUKBLl26wNHREZs3b4aLiwvS0tLw3HPP6XwMc0NUM44ZIdKjO3fuQK1Ww9XVVeu4q6sr8vPzdT4mKysLAPDZZ5/B0rJ23xdiYmKgUCg0N09Pz4YFTrWiVCoBAE5OTlW2YW6IasaeESIDkMlkWvcFQah0DADUajWmTp0KAOjQoUOtnz8qKgrh4eGa+4WFhfyjp2eCICA8PBz9+vWDt7d3le2MITe6FqSrbjE6gAvSUeNiMVJPMstCZBdeQRNr+5obA8guLIbMkt2z5qZFixawsLCo1AtSUFBQqbcEAIqKinDhwgUAf33bLi8vhyAIsLS0xNGjR/H8889XepxcLodcLtfDO6CqvP766/jpp59w+vTpattJPTdSHPRN5ofFSD01bfYD5v+4tI6PGQjgRf0ERJJkZWUFHx8fJCYmYtSoUZrjiYmJGDlyZKX2jo6OSElJgZ+fH06fPg17e3usW7cOx48fx549e+Dl5WXI8KkKc+bMweHDh3Hy5Em0bt1a7HAaRIqDvsn8sBippwd/9MHK4aFo71K7npGsgmL8+8ssPUdFUhQeHo6JEyeid+/e8PPzw4YNG5CTk4NXX30VwKNu/Bs3bmDbtm1o0qQJunbtCgDo2rUrHB0d4eLiAmtr62ovBZBhCIIAADh48CCSk5NNqjiUyqBvMk8sRupJeOgIL8fO6OpceTVJXcrvKyE8vK3nqEiKxo8fj7t372Lx4sXIy8uDt7c3Dh8+jLZt2wIA8vLykJOTI3KUVBsREREAHg0udnBw0Fx+UygUsLGxETM0IqPG2TREBjBz5kxcu3YNKpWq0jTQLVu2ICkpqcrHLly4EOnp6foPkmq0adMmAMDw4cPh7u6uue3evVvkyIiMG3tGiIhqSalUQqFQQKlUwtHRUexwyAyYy0wnFiNEREQSZE4znViMEBERSZA5zXRiMUJEBsG1eYjqxxxmOum9GImJiUFcXBx++eUX7nJJBsE/etLEtXmIqCp6L0aSk5Mxa9Ys/O1vf8PDhw+5y6XEBAQE4OrVqyZVKPKPnjRxbR4iqorei5EjR45o3a/NLpdkONOnT8dzzz1nUoUi/+hJE9fmkS72JpLYDD5mpDa7XHLLbcOZMGGCZopiTYWiseSFf/SI6oa9iSQ2gxYjtd3lMiYmBosWLTJgZATUXCgyL0SmyVR6ExUK7S8grq6ulTapJGkyaDFS210ujWHLbVNTm0KReSEyTabSm9ilSxccP35cc9/CwqKa1iQlBitGZs+ejQMHDtRql0upb7ltimpTKDIvRCRllpaWcHNzEzsMqge9700jCAJef/11xMXF4fjx4ya1y6WpqCgUT5w4YfTboROR+crKyoKHhwe8vLzw97//Hf/3f/9XZVuVSoXCwkKtG4lH78XIrFmzsH37duzYsUOzy2V+fj5KS0v1/dJUC5GRkSwUicgkfPrpp/j222+xceNG5Ofnw9/fH3fv3tXZNiYmBgqFQnPjJWdx6f0yzSeffALg0XoWj9u8eTNeeeUVfb881eCrr77C/v37uR06ERm9kSNHwtHREd27d4efnx/at2+PrVu3ao11q2AsY+DMZdq13osRQRD0/RLUAEqlkoUiEZkcOzs7dO/eHVevXtV53ljGwJnLtGvuTWPmuBU6EZkilUqFn3/+Gf379xc7lAYxlWnXNWExUg+lD9QAgIwbykrnqtpNMbOg2GDxEUkNPzPSVVVuatoZVopOnz6NLl26oKCgANHR0SgsLMTkyZPFDqtBTGXadU1YjNRD1v8+iPPiLtb5sXZy/sjJ/PAzI12mlJupU6fi7t27aNmyJXx9fXH27Fm0bdtW7LCoFqT1L8lIDOn2aB57exd72Oj4xhC2Ox2x43uiwxPdanZyS3i1MN49X4jqi58Z6aoqN9XlBZBmbq5cucLLzkaKxUg9ONlZ4e/Ptqm2TQcXe3i3ql23GpGp42dGumrKDfNChqD3dUaIiIiIqsNihIiojsaPHw8PDw/IZDLEx8eLHQ6R0WMxQkRUR97e3li7dq3YYRCZDI4ZISKqo3feeafWAyVVKhVUKpXmPvdAIaqMxQiZFFNaM4FMQ0xMDBYtWiR2GESSxmKETIoprZlApsFY9kAhEhN/+5JJkeqaCevWrcPy5cuRl5eHbt26ITY2tsplqg8cOAAAeOqpp1BWVoZu3bph4cKFGDp0qN7iI/0xlj1QSHrMqaeXxQiZFCmumbB7926EhYVh3bp16Nu3L9avX49hw4bh8uXLaNOmcqxnzpwBAHz99ddo3bo1Nm/ejODgYPzwww/o1auXQWMnIvGYU0+vcUVLZIRWrVqFqVOnYtq0aQCA2NhYfPvtt/jkk08QExNTqf3777+PTz75BD4+PnB0dMTSpUuxf/9+HDx4kMUIkRmRak+vPrAYIdKjsrIypKWlYd68eVrHhwwZoukBqUl5eTmKiorg5ORUZRvO2DCsn376Cfb2j/4IZGdnIz09HU5OTjp7uojqS4o9vfrCdUaI9OjOnTtQq9VwdXXVOu7q6or8/PxaPcfKlStRUlKCcePGVdkmJiYGCoVCc+MASf3q37+/ppcqPDwcvXr1wrvvvityVETGiz0jRAYgk8m07guCUOmYLjt37sTChQuxf/9+uLi4VNmOMzYMS6lUckM2okbEYoRIj1q0aAELC4tKvSAFBQWVekuetHfvXsyaNQtff/01Bg0aVG1bztggImPGyzREemRlZQUfHx8kJiZqHU9MTIS/v3+1j505cyZ27NiB4cOH6zNEIiLRsWeESM/Cw8MxceJE9O7dG35+ftiwYQNycnLw6quvAnh0ieXGjRvYtm0bAGDPnj0AgOjoaPj6+mp6VWxsbKBQmMZgNSKix7EYIdKz8ePH4+7du1i8eDHy8vLg7e2Nw4cPo23btgCAvLw85OTkaNpv3rwZABAZGYnIyEjN8cmTJ2PLli0GjZ2IyBBYjBAZwMyZMzFz5kyd554sMA4dOgSFQsFBkkRkNjhmhIiIiETFYoSIiIhExWKEiIiIRMVihIiIiETFYoSIiIhExdk0DVRapkbW7WLN/cz/bflc8V8AaN/SHjZWFpUeS/r1eG6YF2lhbqSpprwAzI1YTP0zw2KkgbJuFyNozelKx8N2p2v+P2F2P5PZWdGY6MoN8yINzI001ZQXgLkRi6l/ZliMNFD7lvZImN1Pc//+AzWu3ytF6+Y2sG5qoWlDhvd4bpgXaWFupKmmvFS0IcMz9c8Mi5EGsrGyqFSN9m4nTiyk7cncMC/SwdxIE/MiXaaeGw5gJSIiIlEZRc+IIAgAgMLCQpEjMR0VP8uKn219MC/6wdxIF3MjTcyLdNU2N0ZRjBQVFQEAPD09RY7E9BQVFdV7J1jmRb+YG+libqSJeZGumnIjExpSShpIeXk5bt68CQcHB8hkMrHDqVZhYSE8PT2Rm5sr6U3OBEFAUVERPDw80KRJ/a7WMS/6wdxIlznlhnmRLlPMjVEUI8aksLCQO65KEPMiXcyNNDEv0mWKueEAViIiIhIVixEiIiISFYuRRiaXy/Hee+9BLpeLHQo9hnmRLuZGmpgX6TLF3HDMCBEREYmKPSNEREQkKhYjREREJCoWI0RERCQqFiNEREQkKhYjenTo0CH06dMHNjY2aNGiBUaPHi12SGYtKSkJMplM5y01NVXs8Mzer7/+ipEjR6JFixZwdHRE3759ceLECbHDIgDnz5/H4MGD0axZMzg7O+Nf//oXiouLxQ7L7CxZsgT+/v6wtbVFs2bNdLbJyclBcHAw7Ozs0KJFC/z73/9GWVmZYQOtBxYjerJ3715MnDgRU6ZMwX//+198//33CA0NFTsss+bv74+8vDyt27Rp09CuXTv07t1b7PDM3vDhw/Hw4UMcP34caWlp6NmzJ4KCgpCfny92aGbt5s2bGDRoEDp06IAffvgBR44cwaVLl/DKK6+IHZrZKSsrw0svvYTXXntN53m1Wo3hw4ejpKQEp0+fxq5du7B3715EREQYONJ6EKhevvnmG6Fv376CQqEQnJychOHDhwuZmZmCIAjCgwcPhFatWgmfffaZyFGan+ry8qSysjLBxcVFWLx4sYGjNE/V5eb27dsCAOHkyZOa9oWFhQIA4dixY2KFbDaqy8369esFFxcXQa1Wa9pfuHBBACBcvXpVrJBNUm1/f23evFlQKBSVjh8+fFho0qSJcOPGDc2xnTt3CnK5XFAqlfoMvcHYM1JPJSUlCA8PR2pqKr777js0adIEo0aNQnl5Oc6fP48bN26gSZMm6NWrF9zd3TFs2DBcunRJ7LBNXnV5edKBAwdw584dfsMzkOpy4+zsjC5dumDbtm0oKSnBw4cPsX79eri6usLHx0fs0E1edblRqVSwsrLS2uTMxsYGAHD69GmxQjZJdfn9pUtKSgq8vb3h4eGhOTZ06FCoVCqkpaXpK+zGIXY1ZCoKCgoEAMLFixeFnTt3CgCENm3aCHv27BHOnTsnvPzyy4Kzs7Nw9+5dsUM1K4/n5UnDhg0Thg0bJkJUJAiVc3P9+nXBx8dHkMlkgoWFheDh4SFcuHBB3CDN1OO5ycjIECwtLYVly5YJKpVK+P3334XRo0cLAISlS5eKHapJq+r3V1U9I9OnTxcGDx5c6biVlZWwY8cOfYXZKNgzUk9ZWVkIDQ3FU089BUdHR3h5eQF4NHiooopdsGABxowZAx8fH2zevBkymQxff/21mGGbvOry8rjr16/j22+/xdSpU8UI0yxVlxtBEDBz5ky4uLjg1KlT+PHHHzFy5EgEBQUhLy9P5MhNX3W56datG7Zu3YqVK1fC1tYWbm5ueOqpp+Dq6goLCwuRIzcttf39VR2ZTFbpmCAIOo9LiaXYARir4OBgeHp6YuPGjfDw8EB5eTm8vb1RVlYGd3d3AEDXrl017eVyOZ566qk6/aOiuqsuL4/bvHkznJ2dMWLECJEiNT/V5eb48eNISEjAvXv3NFuir1u3DomJidi6dSvmzZsncvSmrabPTWhoKEJDQ3Hr1i3Y2dlBJpNh1apVmj+W1Dhq+/urKm5ubvjhhx+0jt27dw8PHjyAq6urPkJuNOwZqYe7d+/i559/xttvv42BAweiS5cuuHfvnua8j48P5HI5rly5ojn24MEDXLt2DW3bthUjZLNQU14qCIKAzZs3Y9KkSWjatKkIkZqfmnLz559/AoDWuISK+7W9Xk71U9vPDQC4urrC3t4eu3fvhrW1NQYPHmzgaE1XXfJQFT8/P2RkZGj1Jh49ehRyuVzyY6/YM1IPzZs3h7OzMzZs2AB3d3fk5ORofXNzdHTEq6++ivfeew+enp5o27Ytli9fDgB46aWXxArb5NWUlwrHjx9HdnY2L9EYUE258fPzQ/PmzTF58mS8++67sLGxwcaNG5GdnY3hw4eLGLnpq83nZu3atfD394e9vT0SExMxZ84cvP/++1WudUF1V5s85OTk4Pfff0dOTg7UajXS09MBAB06dIC9vT2GDBmCrl27YuLEiVi+fDl+//13REZGYvr06ZoeR8kSecyK0UpMTBS6dOkiyOVyoUePHkJSUpIAQNi3b58gCI+mjUZERAguLi6Cg4ODMGjQICEjI0PcoM1ATXkRBEF4+eWXBX9/f/GCNFM15SY1NVUYMmSI4OTkJDg4OAi+vr7C4cOHxQ3aTNSUm4kTJwpOTk6ClZWV0KNHD2Hbtm3iBmyiasrD5MmTBQCVbidOnNA8x2+//SYMHz5csLGxEZycnITXX39duH//vjhvqA5kgiAIYhVCtVVeXo6bN2/CwcFB8oNwjIUgCCgqKoKHh0elrvHaYl70g7mRrsbIDRFVZhSXaW7evAlPT0+xwzBJubm5aN26db0ey7zoF3MjXQ3JDRFVZhTFiIODA4BHvwCket3rwIEDWLBggdZsmTZt2mDJkiWSnLFRWFgIT09Pzc8WAGJiYjB//ny88cYbiI2NrfE5jCEvxkhXbuqKudGPxsgNEVVmFMVIRTezo6OjJH+xxsXFYdKkSQgKCsLu3bvh7e2NjIwMLF26FJMmTcKePXsku0lexc82NTUVGzZsQI8ePer8WKnmxdg15PIKc6NfvPRF1Lh40bOB1Go1IiIiEBQUhPj4ePj6+sLe3h6+vr6Ij49HUFAQIiMjoVarxQ61SsXFxZgwYQI2btyI5s2bix0OERGZGaPoGZGyU6dO4dq1a9i5c6fONRKioqLg7++PU6dOISAgQJwgazBr1iwMHz4cgwYNQnR0dJXtVCoVVCqV5n5hYaEhwqu30jI1sm4/2ub8/gM1rt8rRevmNrBu+mjVyPYt7WFjxRUkxcDcENHjWIw0UMXiMt7e3jrPVxyX6pLWe/bswfnz55Gamlpj25iYGCxatMgAUTWOrNvFCFpT9UZeCbP7wbuVwoARUQXmhogex2KkgSqWfs/IyICvr2+l8xkZGVrtpGbevHlITEyEtbV1jW2joqIQHh6uuV8xmE+q2re0R8LsfgCAzIJihO1OR+z4nujgYq85T+JgbojocSxGGqh///5o164dli5divj4eK1LNeXl5YiJiYGXlxf69+8vYpRVu337ttYywWq1GidPnsTatWuhUqm0NsKSy+WQy+VihFkvNlYWlb5dd3Cx5zduCWBuiOhxHMDaQBYWFli5ciUSEhIQEhKClJQUFBUVISUlBSEhIUhISMCKFSsku7tlSkoK0tPTNbfevXtjwoQJSE9Pl2zMRERkWtgz0ghGjx6NPXv2ICIiAv7+/prjXl5ekp7WCzzaWfjxqZ92dnZwdnaucgwMERFRY2Mx0khGjx6NkSNH4tSpU8jLy4O7uzv69+/P3gUiIqIasBhpRBYWFpKdvltbSUlJYodARERmhmNGiIiISFQsRohq6eTJkwgODoaHhwdkMhni4+O1zr/yyiuQyWRatyene6tUKsyePRstWrSAnZ0dRowYgevXr2u1uXfvHgDA09MTCoUCEydOxB9//KHPt0ZEJCoWI0S1VFJSgmeeeQZr166tss0LL7yAvLw8ze3w4cNa58PCwrBv3z7s2rULp0+fRnFxMYKCgrS2C5g2bRoAYO/evThy5AjS09MxceJE/bwpIiIJ4JgRoloaNmwYhg0bVm0buVwONzc3neeUSiU2bdqEL774AoMGDQIAbN++HZ6enjh27BiGDh2Kn3/+GceOHQMAPPvss3B0dMTGjRvh5+eHK1euoHPnzo37poiIJIA9I0SNKCkpCS4uLujUqROmT5+OgoICzbm0tDQ8ePAAQ4YM0Rzz8PCAt7c3zpw5A+DRui8KhfbCX76+vlAoFJo2uqhUKhQWFmrdiIiMBYsRokYybNgwfPnllzh+/DhWrlyJ1NRUPP/885rNBfPz82FlZVVpZ2RXV1fk5+dr2rRo0aLSc7u4uGja6BITEwOFQqG5SXmZfiKiJ9W5GKlpEN+TkpKSKg3qk8lk+OWXX+obM5EkjR8/HsOHD4e3tzeCg4PxzTff4Ndff8WhQ4eqfZwgCJDJZJr7j/9/VW2eFBUVBaVSqbnl5ubW/40QERlYnceMVAzimzJlCsaMGVPrx125ckVrpc+WLVvW9aWJjIq7uzvatm2Lq1evAgDc3NxQVlaGe/fuafWOFBQUaFbudXNzw+3btys91+3bt+Hq6lrlaxnbvkFERI+rczFSm0F8uri4uKBZs2a1aqtSqTRd2wB4/ZuM0t27d5Gbm6vZsdnHxwdNmzZFYmIixo0bBwDIy8tDRkYGli1bBgDw8/ODUqnUep4ffvgBSqVSa6sBIiJTYrAxI7169YK7uzsGDhyIEydOVNuW179JioqLizUbCgJAdnY20tPTkZOTg+LiYkRGRiIlJQXXrl1DUlISgoOD0aJFC4waNQoAoFAoMHXqVEREROC7777DhQsX8I9//APdu3fXzK7p0qWL5v9TU1Nx9uxZTJ8+HUFBQZxJQ0QmS+/FiLu7OzZs2IC9e/ciLi4OnTt3xsCBA3Hy5MkqH8Pr3yRF586dQ69evdCrVy8AQHh4OHr16oV3330XFhYWuHjxIkaOHIlOnTph8uTJ6NSpE1JSUuDg4KB5jtWrVyMkJATjxo1D3759YWtri4MHD2rtYbRx40YAwKhRozBkyBD06NEDX3zxhWHfLBGRAel9nZHOnTtrfaPz8/NDbm4uVqxYgeeee07nY3j9m6QoICAAgiBUef7bb7+t8Tmsra2xZs0arFmzpso2Tk5OAIDr169rjbMiIjJVoix65uvri+3bt4vx0o2utEyNrNvFmvv3H6hx/V4pWje3gXXTR99227e0h40Vd+8lIiLSRZRi5MKFC5pBfcYu63YxgtacrrZNwux+8G6lqLYNERGRuapzMVJcXIzMzEzN/YpBfE5OTmjTpg2ioqJw48YNbNu2DQAQGxuLdu3aoVu3bigrK8P27duxd+9e7N27t/HehYjat7RHwux+mvuZBcUI252O2PE90cHFXtOGiIiIdKtzMXLu3DkEBgZq7oeHhwMAJk+ejC1btiAvLw85OTma82VlZYiMjMSNGzdgY2ODbt264dChQ3jxxRcbIXzx2VhZ6Oz16OBiz94QIiKiWqhzMVLTIL4tW7Zo3Z87dy7mzp1b58CIiIjIPHBvGiIiIhIVixEiIiISFYsRIiIiEhWLESIiIhIVixEiIiISlSiLnhHpU/adEpSoHmodyywo1vrvk+zklvBqYaf32IiIqDIWI2RSsu+UIHBFUpXnw3anV3nuRGQACxIiIhGwGCGTUtEj8vgKuIDuPYMqVKya+2RvChERGQaLETJJulbA7d1OnFiIiKh6HMBKREREomIxQkRERKJiMUJERESiYjFCREREomIxQkRERKJiMUJERESiYjFCREREomIxQkRERKJiMUJERESiYjFCREREouJy8GRyZJaFyC68gibW9jU3BpBdWAyZZaGeoyIioqqwGCGT07TZD5j/49I6PmYggBerbXPy5EksX74caWlpyMvLw759+xASEqI5LwgCFi1ahA0bNuDevXvo06cPPv74Y3Tr1k3TRqVSITIyEjt37kRpaSkGDhyIdevWoXXr1po29+7dAwB4enoCAEaMGIE1a9agWbNmdXpPRETGgsUImZwHf/TByuGhaO9Su56RrIJi/PvLrBrblZSU4JlnnsGUKVMwZsyYSueXLVuGVatWYcuWLejUqROio6MxePBgXLlyBQ4ODgCAsLAwHDx4ELt27YKzszMiIiIQFBSEtLQ0WFg82k142rRpAIC9e/fCzs4O//rXvzBx4kQcPHiwtj8CIiKjwmKknrLvlOjccj6zoFjrv4+zk1vCq4Wd3mMzd8JDR3g5dkZXZ0XNjQGU31dCeHi7xnbDhg3DsGHDdL+mICA2NhYLFizA6NGjAQBbt26Fq6srduzYgRkzZkCpVGLTpk344osvMGjQIADA9u3b4enpiWPHjmHo0KH4+eefcezYMQDAs88+C0dHR2zcuBF+fn64cuUKOnfurPP1VSoVVCqV5n5hIS87EZHxYDFSD9l3ShC4IqnaNmG703UePxEZwILEBGVnZyM/Px9DhgzRHJPL5RgwYADOnDmDGTNmIC0tDQ8ePNBq4+HhAW9vb5w5cwZDhw5FSkoKFAoFlEqlpo2vry8UCgXOnDlTZTESExODRYsW6e8NEhHpEYuReqjoEYkd3xMdnrgUcP+BGtfvlaJ1cxtYN7XQHM8sKEbY7nSdvSlk/PLz8wEArq6uWsddXV3x22+/adpYWVmhefPmldpUPD4/Px8tWrTQKkYAwMXFRdNGl6ioKISHh2vuFxYWasacSAV7E4moKixGGqCDiz28W1W+FNC7neFjIWmQyWRa9wVBqHTsSU+20dW+pueRy+WQy+V1jNZw2JtIRNVhMULUCNzc3AA86tlwd3fXHC8oKND0lri5uaGsrAz37t3T6h0pKCiAv7+/ps3t25XHr9y+fbtSr4sxYW8iEVWHxQhRI/Dy8oKbmxsSExPRq1cvAEBZWRmSk5PxwQcfAAB8fHzQtGlTJCYmYty4cQCAvLw8ZGRkYNmyZQAAPz+/SpdofvjhByiVSk3BYszYm0hEurAYIaql4uJiZGZmau5nZ2cjPT0dTk5OaNOmDcLCwrB06VJ07NgRHTt2xNKlS2Fra4vQ0FAAgEKhwNSpUxEREQFnZ2c4OTkhMjIS3bt318yu6dKlCwYNGoRjx44hNTVVM7U3KCioysGrRETGrs7LwZ88eRLBwcHw8PCATCZDfHx8jY9JTk6Gj48PrK2t8dRTT+HTTz+tT6xEojp37hx69eql6fkIDw9Hr1698O677wIA5s6di7CwMMycORO9e/fGjRs3cPToUc0aIwCwevVqhISEYNy4cejbty9sbW1x8OBBzRojALBx40YAwKhRozBkyBD06NEDX3zxhQHfKRGRYdW5Z6SmhZ+elJ2djRdffBHTp0/H9u3b8f3332PmzJlo2bJlrR5PJBUBAQEQBKHK8zKZDAsXLsTChQurbGNtbY01a9ZgzZo1VbZxcnICAFy/fh2Ojo71jpeIyFjUuRipbuEnXT799FO0adMGsbGxAB51Q587dw4rVqxgMUJERET637U3JSVFa5EnABg6dCjOnTuHBw8e6HyMSqVCYWGh1o2IiIhMk96Lkfz8fJ0LQT18+BB37tzR+ZiYmBgoFArNTWqLNxEREVHjMchsGl0LQek6XsEYVpPkNvVERESNQ+/FiJubW6VlrAsKCmBpaQlnZ2edj5H6apKA/rapJyIiMjd6L0b8/PwqbX1+9OhR9O7dG02bNtX3y+uNvrapJyIiMjd1LkZqWvgpKioKN27cwLZt2wAAr776KtauXYvw8HBMnz4dKSkp2LRpE3bu3Nl470IE+tqmnoiIyNzUuRg5d+4cAgMDNfcrxnZMnjwZW7ZsQV5eHnJycjTnvby8cPjwYbz55pv4+OOP4eHhgY8++ojTeomIiAhAPYqRmhZ+2rJlS6VjAwYMwPnz5+v6UkRERGQG9D61l4iIiKg6LEaIiIhIVCxGiIiISFQsRoiIiEhULEbMXEBAABwcHODi4oKQkBBcuXJF7JCIiMjMGGQ5eJKu6dOn47nnnsPDhw+xYMECDBkyBJcvX4adnZ3YoZGJ4RYKRFQVFiNmbsKECXB0dAQAbN68GS4uLkhLS8Nzzz0ncmRkariFAhFVhcUIaSiVSgCAk5OTzvMqlQoqlUpzv7CQ31qp9riFAhFVhcUIAXi0k3J4eDj69esHb29vnW1iYmKwaNEiA0dGpoJbKBBRVViM1EPpAzUAIOOGstK5+w/UuH6vFK2b28C6qYXmeGZBscHiq4/XX38dP/30E06fPl1lm6ioKM3y/8CjnhFPT09DhFdrVeWmqrwA0s8NEZGpYzFSD1n/++M1L+5inR9rJ5fej3z27Nk4cOAATp48idatW1fZTi6XQy6XGzCyujO13BARmQP+9q2HId3cAADtXexho+NbdtjudMSO74kOT1wbt5NbwquFtGapREZG4tChQ0hKSoKXl5fY4TRYVbmpLi+ANHNDRGQuWIzUg5OdFf7+bJtq23RwsYd3q9pdGxfTV199hf3798PBwQH5+fkAAIVCARsbG5Ejq5+acmMseSEiMidc9MzMKZVKBAQEwN3dXXPbvXu32GEREZEZYc+ImVMqlZp1RoiIiMTAnhGiRrRw4ULIZDKtm5ubm+a8IAhYuHAhPDw8YGNjg4CAAFy6dEnrOSrWcvHy8oKdnR1GjBiB69evG/R9EBEZEosRokbWrVs35OXlaW4XL/41s2fZsmVYtWoV1q5di9TUVLi5uWHw4MEoKirStJk3bx4A4PPPP8fp06dRXFyMoKAgqNVqg78XIiJDYDFC1MgsLS3h5uamubVs2RLAo16R2NhYLFiwAKNHj4a3tze2bt2KP//8Ezt27ADw6LLZF198AQAIDAxEr169sH37dly8eBHHjh0T7T0REekTx4wQNbKrV6/Cw8MDcrkcffr0wdKlS/HUU08hOzsb+fn5GDJkiKatXC7HgAEDcObMGcyYMQNpaWl48OCB1vN5eHjA29sbZ86cwdChQ3W+ptSX6jfFhQKJqPGwGCFqRH369MG2bdvQqVMn3Lp1C9HR0fD398elS5c0U6ddXV21HuPq6orffvsNAJCfnw8rKyuUlZVValPxeF2kvlQ/F6MjourwU07UiIYNG6b5/+7du8PPzw/t27fH1q1b4evrCwCQyWRajxEEodKxJ9XURupL9ZvSQoFE1PhYjBDpkZ2dHbp3746rV68iJCQEwKPeD3d3d02bgoICTW+Jm5tbpV6Rijb+/v5Vvo7Ul+o3pYUCiajxcQArkR6pVCr8/PPPcHd3h5eXF9zc3JCYmKg5X1ZWhuTkZE2h4ePjg6ZNm2o9R15eHjIyMqotRoiIjBmLEaJGFBkZieTkZGRnZ+OHH37A2LFjUVhYiMmTJ0MmkyEsLAxLly7Fvn37kJGRgVdeeQW2trYIDQ0F8Ggp/okTJwIAkpKScOHCBfzjH/9A9+7dMWjQIDHfGhGR3vAyDVEjun79Ol5++WXcuXMHLVu2hK+vL86ePYu2bdsCAObOnYvS0lLMnDkT9+7dQ58+fXD06FE4ODhoniMmJgaff/45XnnlFdy/fx8DBw7Eli1bYGFhUdXLEhEZNRYjRI1o165d1Z6XyWRYuHAhFi5cWGUba2trAMC1a9e4VD8RmQVepiEiIiJRsRghIiIiUbEYISIiIlHVqxhZt24dvLy8YG1tDR8fH5w6darKtklJSZV2MZXJZPjll1/qHTQRERGZjjoXI7t370ZYWBgWLFiACxcuoH///hg2bBhycnKqfdyVK1e0djLt2LFjvYMmIiIi01HnYmTVqlWYOnUqpk2bhi5duiA2Nhaenp745JNPqn2ci4uL1k6mnKZIREREQB2LkbKyMqSlpWntOgoAQ4YMwZkzZ6p9bK9eveDu7o6BAwfixIkT1bZVqVQoLCzUuhEREZFpqtM6I3fu3IFarda562hVO4q6u7tjw4YN8PHxgUqlwhdffIGBAwciKSkJzz33nM7HSH0H0seVlqmRdfuvrc4rtj1/fPvz9i3tYWPFniBDezw3zIu0MDdE9Lh6LXpWl11HO3fujM6dO2vu+/n5ITc3FytWrKiyGJH6DqSPy7pdjKA1pysdD9udrvn/hNn9uAGYCHTlhnmRBuaGiB5Xp2KkRYsWsLCwqNQL8viuo7Xh6+uL7du3V3le6juQPq59S3skzO6nuX//gRrX75WidXMbWP9vq/T2Le2rejjp0eO5YV6khbkhosfVqRixsrKCj48PEhMTMWrUKM3xxMREjBw5stbPc+HCBa0t1I2ZjZVFpW9wvduJEwtpezI3zIt0MDdE9Lg6X6YJDw/HxIkT0bt3b/j5+WHDhg3IycnBq6++CuDRJZYbN25g27ZtAIDY2Fi0a9cO3bp1Q1lZGbZv3469e/di7969jftOiIiIyCjVuRgZP3487t69i8WLFyMvLw/e3t44fPiwZlfSvLw8rTVHysrKEBkZiRs3bsDGxgbdunXDoUOH8OKLL9b6NQVBAADOqmlEFT/Lip9tfTAv+sHcSFdj5IaIKpMJRvCpun79umQHsBq73NxctG7dul6PZV70i7mRrobkhogqM4pipLy8HDdv3oSDg0OVs3akomLmT25urqS3fxcEAUVFRfDw8ECTJvXbooh50Q/mRroaIzdEVJlRFCPGpLCwEAqFAkqlUvK/WM0J8yJdzA0RsbQnIiIiUbEYISIiIlGxGGlkcrkc7733ntEs2mYumBfpYm6IiGNGiIiISFTsGSEiIiJRsRghIiIiUbEYISIiIlGxGCEiIiJRsRghIiIiUbEYaQRLliyBv78/bG1t0axZM51t3njjDfj4+EAul6Nnz54Gjc+c1ZSb//73v3j55Zfh6ekJGxsbdOnSBR9++KHhAzVDNeXm7t27eOGFF+Dh4QG5XA5PT0+8/vrr3PyPyASxGGkEZWVleOmll/Daa69V2UYQBPzzn//E+PHjDRgZ1ZSbtLQ0tGzZEtu3b8elS5ewYMECREVFYe3atQaO1PzUlJsmTZpg5MiROHDgAH799Vds2bIFx44dw6uvvmrgSIlI7wSq0TfffCP07dtXUCgUgpOTkzB8+HAhMzOzUrvNmzcLCoWi2ud67733hGeeeUY/gZqhxsxNhZkzZwqBgYGNHKn50UduPvzwQ6F169aNHCkRiY09I7VQUlKC8PBwpKam4rvvvkOTJk0watQolJeXix2a2dNHbpRKJZycnBoxSvPU2Lm5efMm4uLiMGDAgEaOlIjEZil2AMZgzJgxWvc3bdoEFxcXXL58Gd7e3iJFRUDj5yYlJQVfffUVDh061Fghmq3Gys3LL7+M/fv3o7S0FMHBwfjss88aO1QiEhl7RmohKysLoaGheOqpp+Do6AgvLy8AQE5OjsiRUWPm5tKlSxg5ciTeffddDB48uLFDNTuNlZvVq1fj/PnziI+PR1ZWFsLDw/URLhGJiD0jtRAcHAxPT09s3LgRHh4eKC8vh7e3N8rKysQOzew1Vm4uX76M559/HtOnT8fbb7+tp2jNS2Plxs3NDW5ubnj66afh7OyM/v3745133oG7u7ueIiciQ2MxUoO7d+/i559/xvr169G/f38AwOnTp0WOioDGy82lS5fw/PPPY/LkyViyZEljh2mW9PW5Ef63r6dKpWrwcxGRdLAYqUHz5s3h7OyMDRs2wN3dHTk5OZg3b55Wm5ycHPz+++/IycmBWq1Geno6AKBDhw6wt7cHAGRmZqK4uBj5+fkoLS3VtOnatSusrKwM+ZZMRmPk5tKlSwgMDMSQIUMQHh6O/Px8AICFhQVatmxp6LdkMhojN4cPH8atW7fwt7/9Dfb29rh8+TLmzp2Lvn37ol27doZ/U0SkP2JP5zEGiYmJQpcuXQS5XC706NFDSEpKEgAI+/btEwRBECZPniwAqHQ7ceKE5jkGDBigs012drYo78lUNDQ37733ns7zbdu2Fe09mYqG5ub48eOCn5+foFAoBGtra6Fjx47CW2+9Jdy7d0+090RE+iEThP/1exIRERGJgLNpiIiISFQsRoiIiEhULEaIiIhIVCxGiIiISFQsRoiIiEhULEaIiIhIVCxGiIiISFQsRoiIiEhULEaIiIhIVCxGiIiISFQsRoiIiEhU/x8JI8dWBqSMMwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 15 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "!pip install matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "#plt.style.use('seaborn-darkgrid')\n",
    "plt.rcParams['axes.unicode_minus']=False\n",
    "data.plot(kind='box',subplots=True,layout=(3,5),sharex=False,sharey=False)\n",
    "p=data.boxplot(return_type='dict')\n",
    "for i in range(13):\n",
    "    y=p['fliers'][i].get_ydata()\n",
    "    print('a',i+1,'中异常值: ',y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "d4d6a47e-1c6c-4927-9e0a-5c83eb085f77",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 1.51861254 -0.5622498   0.23205254 ...  0.36217728  1.84791957\n",
      "   1.01300893]\n",
      " [ 0.24628963 -0.49941338 -0.82799632 ...  0.40605066  1.1134493\n",
      "   0.96524152]\n",
      " [ 0.19687903  0.02123125  1.10933436 ...  0.31830389  0.78858745\n",
      "   1.39514818]\n",
      " ...\n",
      " [ 0.33275817  1.74474449 -0.38935541 ... -1.61212515 -1.48544548\n",
      "   0.28057537]\n",
      " [ 0.20923168  0.22769377  0.01273209 ... -1.56825176 -1.40069891\n",
      "   0.29649784]\n",
      " [ 1.39508604  1.58316512  1.36520822 ... -1.52437837 -1.42894777\n",
      "  -0.59516041]]\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "from sklearn import preprocessing\n",
    "names=['label','a1','a2','a3','a4','a5','a6','a7','a8','a9','a10','a11','a12','a13']\n",
    "dataset=pd.read_csv(\"wine.data\",names=names)\n",
    "data=dataset.iloc[range(0,178),range(1,14)]\n",
    "target=dataset.iloc[range(0,178),range(0,1)].values.reshape(1,178)[0]\n",
    "cdata=preprocessing.StandardScaler().fit_transform(data)\n",
    "print(cdata)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "1843fb42-59f5-4b58-b049-008a3bb4141f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.model_selection import cross_val_score\n",
    "x,y=cdata,target\n",
    "x_train,x_test,y_train,y_test=train_test_split(x,y,random_state=0)\n",
    "k_range=range(1,15)\n",
    "k_error=[]\n",
    "for k in k_range:\n",
    "    model=KNeighborsClassifier(n_neighbors=k)\n",
    "    scores=cross_val_score(model,x,y,cv=5,scoring='accuracy')\n",
    "    k_error.append(1-scores.mean())\n",
    "plt.rcParams['font.sans-serif']='Simhei'\n",
    "plt.plot(k_range,k_error,'-r')\n",
    "plt.xlabel('k的取值')\n",
    "plt.ylabel('预测值误差率')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "64521ffd-e83a-4e29-9383-1c6097ca13be",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "模型预测准确率: 1.0\n",
      "测试集的预测标签: [1 3 2 1 2 2 1 3 2 2 3 3 1 2 3 2 1 1 2 1 2 1 1 2 2 2 2 2 2 3 1 1 2 1 1 1 3\n",
      " 2 2 3 1 1 2 2 2]\n",
      "预测集的真是标签: [1 3 2 1 2 2 1 3 2 2 3 3 1 2 3 2 1 1 2 1 2 1 1 2 2 2 2 2 2 3 1 1 2 1 1 1 3\n",
      " 2 2 3 1 1 2 2 2]\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "model=KNeighborsClassifier(n_neighbors=9)\n",
    "model.fit(x_train,y_train)\n",
    "pred=model.predict(x_test)\n",
    "ac=accuracy_score(y_test,pred)\n",
    "print(\"模型预测准确率:\",ac)\n",
    "print(\"测试集的预测标签:\",pred)\n",
    "print(\"预测集的真是标签:\",y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "eb456324-d72f-4910-a401-1f0e82242158",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
